<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>

	<body>
		<input type="text" id="numId" />
		<input type="button" value="阶乘" onclick="cal()" />
		=
		<span id="resultId">？</span>

		<script type="text/javascript">
			//计算阶乘,考虑一下如果输入的 不是数字isNaN
			//负数没有阶乘 0的阶乘是1
			function cal() {
				var num = document.getElementById("numId").value;
				var result = document.getElementById("resultId");
				if (isNaN(num) == true) {
					result.innerHTML = "输入的不是一个数字";
					return;
				}
				
				// "" 和0都是控制，==比较时候是相等
				// 而且isNaN认为""空字符串是一个数字
				if(num ==  ""){
					result.innerHTML = "输入的不是一个数字";
					return;
				}
				
				
							
				if (num > 0) {
					var sum = 1;

					for (var i = 1; i <= num; i++) {
						sum = i * sum;
					}
					result.innerHTML = sum;
				} else if (num == 0) {
					result.innerHTML = "0的阶乘是1";
				} else{
					result.innerHTML = "负数没有阶乘";
				}
				
			}
		</script>

	</body>
</html>
